// pages/mine/staffManage/index.js
import { MineModel } from "../../../api/api-mine/mineModel.js"
const mineModel = new MineModel()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tableDatas: [], // 员工
    pageNum: 1,
    pageSize: 10,
    total: 0,
    triggered: false,
    wxParam: "", // 姓名/手机号
    isTeach: true, // 是否授课，默认是
    isJob: true, // 是否在职，默认是
    loadStatus: "",
    showFilter: false, // 筛选弹出层
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    // await this.getEmployeesList();
  },

  /**
  * 生命周期函数--监听页面显示
  */
  onShow() {
    this.setData({
      triggered: false,
      pageNum: 1,
      tableDatas: []
    })
    this.getEmployeesList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  // 搜索
  searchStaffTap() {
    this.setData({
      pageNum: 1,
      tableDatas: []
    })
    this.getEmployeesList()
  },

  // 筛选确定
  confirmFilter() {
    this.setData({
      showFilter: false
    })
    this.searchStaffTap()
  },
  // 重置筛选
  resetFilter() {
    this.setData({
      isTeach: true,
      isJob: true,
      showFilter: false
    })
    this.searchStaffTap()
  },

  // 获取员工
  async getEmployeesList() {
    // isTeach: this.data.isTeach, isJob: this.data.isJob, 
    mineModel.getEmployeesApi({ wxParam: this.data.wxParam, pageNum: this.data.pageNum, pageSize: 10 }).then(res => {
      let rows = this.data.tableDatas;
      rows.push(...res.rows);
      this.setData({
        tableDatas: rows,
        total: res.total
      })
      if (this.data.total == 0) {
        this.setData({
          // 无数据
          loadStatus: ""
        })
      }
      else if (this.data.tableDatas.length < this.data.total) {
        // 还有数据
        this.setData({
          // 加载更多
          loadStatus: "loadmore"
        })
      }
      else {
        // 没有数据了
        this.setData({
          // 加载更多
          loadStatus: "nomore"
        })
      }
    })
  },

  // 筛选
  searchStaff() {
    this.setData({
      showFilter: true
    })
  },

  // 修改授课状态
  changeIsTeach({ detail }) {
    this.setData({
      isTeach: detail
    })
  },

  // 修改在职状态
  changeIsJob({ detail }) {
    this.setData({
      isJob: detail
    })
  },

  // 关闭筛选
  closeFilterPop() {
    this.setData({
      showFilter: false
    })
  },

  // 添加员工
  addStaffClick() {
    wx.navigateTo({
      url: '/pages/mine/editStaff/index',
    })
  },

  // 跳转
  gotoEditStaff(e) {
    // 传递的参数
    const item = e.currentTarget.dataset.query;
    wx.navigateTo({
      url: `/pages/mine/editStaff/index?id=${item.id}&isJob=${item.isJob}`,
    })
  },

  getMoreDatas() {

    if (this.data.loadStatus === 'nomore') {
      // 没有更多了
      return;
    }
    this.setData({
      pageNum: this.data.pageNum + 1,
      loadStatus: "loading" // 加载中
    })
    this.getEmployeesList()
  },
  refreshMoreDatas() {
    this.setData({
      triggered: false,
      pageNum: 1,
      tableDatas: []
    })
    this.getEmployeesList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // console.log("onPullDownRefresh");

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // console.log("onReachBottom")

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})